﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OA.Model
{
    public class ApprovalProcessNodeInfo
    {
        public string Name { get; set; }

        /// <summary>
        /// 1：普通节点 2：会签节点 3：组织上的上级
        /// </summary>
        public int Type { get; set; }

        /// <summary>
        /// 至少一个上级
        /// </summary>
        public bool AtLeastOneSuperior { get; set; }

        /// <summary>
        /// 当Type选择3：组织上的上级，审批需要到啥级别
        /// </summary>
        public string LastPositionLevel { get; set; }

        /// <summary>
        /// 当Type选择1：普通节点时，当前节点的审批成员
        /// </summary>
        public List<int> Positions { get; set; }

        /// <summary>
        /// 对当前节点隐藏的属性
        /// </summary>
        public List<string> HideAttribute { get; set; }

        /// <summary>
        /// 当前节点可以编辑属性
        /// </summary>
        public List<string> AbledEditAttribute { get; set; }

        public List<Filter> Filters { get; set; }


    }

    public class Filter
    {
        /// <summary>
        /// 分组
        /// </summary>
        public int GroupID { get; set; }

        /// <summary>
        /// 属性
        /// </summary>
        public string Attribute { get; set; }

        /// <summary>
        /// 比对类型   1 小于 Value, 2 小于等于 Value ,3 等于 Value ,4 大于等于 Value, 5 大于 Value,6 包含在value中,7 不包含在value中
        /// </summary>
        public int Type { get; set; }

        /// <summary>
        /// 比对值
        /// </summary>
        public string Value { get; set; }
    }
}
